01. C++ 向量
向量与矩阵代数
学习得不错!你已经学习了大量 C++ 句法。你也许注意到了,使用 C++ 编程无疑比使用 Python 困难。C++ 专为快速执行而设计,使用这门语言,你可以采用许多不同方式达到同一结果。而使用 Python 写代码的速度更快,但执行速度也有所下降。
最后,为了翻译你之前在本纳米课程中学到的 Python 代码,你还需要学习一小段句法:C++ 向量,它与 Python 列表相似。
向量库
你刚刚学习了库以及如何导入库!在本课的下一部分,你将学习如何使用 C++ 标准库中的向量。
编写 Python 程序来存储和操作矩阵时,你使用过 Python 列表。C++ 向量类似于 Python 列表。所以,你需要学习向量,才能在 C++ 中编写矩阵代数程序。
但是,在这里,状况有点混乱。C++ 还有一个称为列表的数据结构,但 C++ 列表与 Python 列表的实现方式不同。
C++ 列表和 C++ 向量都是名为 序列容器 的结构族的一部分。这些容器允许你串行存储值,然后访问这些值。C++ 有一些序列容器,包括列表、向量和数组。
但不要搞混了!C++ 向量最接近 Python 列表。你可以像在 Python 列表中一样将元素添加到 C++ 向量中。你还可以删除元素,或者轻松访问向量中的任何元素。
声明 C++ 向量
声明 C++ 向量变量与声明其他类型的变量相似:
typedefinition variablename;
但向量类型定义的句法看上去十分有趣,因为你还需要声明进入向量的值的类型,比如 integer, char, float 或是 string 等等。下面是一些使用向量声明变量的例子:
std::vector<char> charactervectorvariable;
std::vector<int> integervectorvariable;
std::vector<float> floatvectorvariable;
std::vector<double> doublevectorvariable:
包含向量库
在实际的程序中,你将需要从标准程序库中包含向量文件:
#include <vector>
int main() {
std::vector<float> floatvectorvariable;
return 0;
}
上面的代码将会声明一个 float 类型的空向量。
声明向量更通用的方式为:
std::vector<datatype> variablename;
练习声明向量
Start Quiz:
// TODO: import the vector library
// TODO: write a program that declares three integer vectors named:
// vector1
// vector2
// vector3
#include <vector>
int main() {
std::vector<int> vector1;
std::vector<int> vector2;
std::vector<int> vector3;
return 0;
}